package com.niit.session18;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class HashMapDemo {
	public static void main(String[] args) {
//		HashMap有两个需要确定的数据类型，<>中第一个是键的数据类型，第二个是值的数据类型
		Map<String, String> map = new HashMap<String, String>();
//		HashMap使用put方法添加元素，第一个参数是键，第二个是值
		map.put("001", "张三");
		map.put("002", "李四");
		map.put("003", "王五");
//		如果添加了重复的键，后面的值会覆盖前面的
		map.put("400", "赵六");
		map.put("400", "赵七");
//		键和值都可以为null
		map.put("500", null);
//		键可以为null，但是不会被添加进去
		map.put(null, null);
		System.out.println(map);
//		通过键获取值
		System.out.println(map.get("001"));
//		根据键来移除值
		map.remove("500");
		System.out.println(map);
		/***********************遍历map*************************/
//		使用entrySet遍历Map
		Set<Entry<String, String>> entrySet = map.entrySet();
		for (Entry<String, String> entry : entrySet) {
//			Entry的getKey()方法获取键，使用getValue()方法获取值
			System.out.println(entry.getKey()+"----"+entry.getValue());
		}
//		直接使用formap生成的代码遍历:输入for alt+/ 选择formap
		for (Map.Entry<String, String> entry : map.entrySet()) {
			System.out.println(entry.getKey()+"----"+entry.getValue());
		}
		
		
		
	}

}
